package com.zjdiepu.www.ibiz.file;

import java.util.Map;

import com.qiniu.http.Response;
import com.qiniu.processing.OperationStatus;
import com.zjdiepu.www.model.third.request.NoticeRequest;

/**
 * 项目名称：dpqc-parent-manager-file <br/> 
 * 类名称：IQiniuFileService <br/>
 * 类描述： 七牛文件处理<br/>
 * 创建人：winby <br/>
 * 创建时间：2017年4月26日 下午3:08:26  <br/>
 * @version V1.0   <br/>
 */
public interface IQiniuFileService {
	/**
	 * 判断文件是否存在
	 * @author xiongxiaotun <br/>
	 * @Title: exists  <br/>
	 * @Description: 判断文件是否存在  <br/>
	 * @param fileKey
	 * @return
	 * @version V1.0  <br/>
	 */
	boolean exists(String fileKey);
	/**
	 * 打包保存
	 * @param busiId 业务ID
	 * @param applyId 征信申请ID
	 */
	String saveRar(String busiId, String applyId);
	/**
	 * 查询处理状态
	 * @param persistentId
	 */
	OperationStatus queryStatusByPersistentId(String persistentId);
	/**
	 * 处理通知
	 * @param noticeRequest 通知内容
	 * @param id
	 */
	void saveNotice(NoticeRequest noticeRequest, String id);
	/**
	 * 上传征信附件为Word
	 * @param fileUrlOrKeys
	 * @param isKey 
	 */
	String uploadZx(boolean isKey, String fileName,String... fileUrlOrKeys);
	
	/**
	 * 处理多媒体数据
	 * @param fileName
	 * @param mediaType
	 * @param attachmentId
	 */
	String encodeMedia(String fileName, String mediaType, String attachmentId);
	
	/**
	 * 打水印
	 * @author xiongxiaotun <br/>
	 * @Title: imagesWater  <br/>
	 * @Description: 打水印  <br/>
	 * @param fileName
	 * @param attachmentId
	 * @return
	 * @version V1.0  <br/>
	 */
	String imagesWater(String fileName, String attachmentId);
	/**
	 * @author xiongxt <br/>
	 * @Title: imageslimImg  <br/>
	 * @Description: 图片瘦身 <br/>
	 * @param id 上传记录otherMediaFail的ID
	 * @param fileName 文件名
	 * @param attachmentId 附件
	 * @return
	 * @version V1.0  <br/>
	 */
	String imagesLim(String id, String fileName, String attachmentId);
	/**
	 * @author winby <br/>
	 * @Title: encodeVideo  <br/>
	 * @Description: 视频转码 <br/>
	 * @param id 上传记录otherMediaFail的ID
	 * @param fileName 文件名
	 * @param attachmentId 附件
	 * @return
	 * @version V1.0  <br/>
	 */
	String encodeVideo(String id, String fileName, String attachmentId);
	/**
	 * @author winby <br/>
	 * @Title: removeFile  <br/>
	 * @Description: 删除文件 <br/>
	 * @param
	 * @return
	 * @version V1.0  <br/>
	 */
	Response removeFile(String fileName);

	/**
	 * @author winby <br/>
	 * @Title: removeFile  <br/>
	 * @Description: 删除文件 <br/>
	 * @param
	 * @return
	 * @version V1.0  <br/>
	 */
	Response moveFile(String fileName);

	/**
	 * @author winby <br/>
	 * @Title: getToken  <br/>
	 * @Description: 获取token <br/>
	 * @param fileType 文件类型（后缀）
	 * @param type 附件类型 img/video等
	 * @return
	 * @version V1.0  <br/>
	 */
	Map<String,String> getToken(String fileType,String type);

	/**
	 * @author winby <br/>
	 * @Title: getToken  <br/>
	 * @Description: 获取token <br/>
	 * @return
	 * @version V1.0  <br/>
	 */
	String getURL(String key);


	String xxhDataZip(String busiId);
}








